const app = getApp()
//引入QQMapWx
const QQMapWX = require('../../libs/qqmap-wx-jssdk')
const qqmapsdk = new QQMapWX({
  key:'EZNBZ-JLI3K-MBLJS-AEVSD-762D3-GOFYQ'
})
let db = wx.cloud.database();
Page({
  data:{
    cid:1,//声明变量保存当前选中导航栏类别的id
    movies:[], //保存当前电影列表
    cityname:'未选择',
    reping:[],
  },
  //点击导航栏后
  tapNav(event){
     let cid = event.target.dataset.id;
     this.setData({cid});
     //先去缓存中看一圈  有没有当前类别下的首页数据
     wx.getStorage({
       key:cid,
       success:(res)=>{
         let movies = res.data;
         this.setData({movies});
       },
       fail:(res)=>{
         //console.warn(res)
         this.loadData(cid,0).then(movies=>{
             this.setData({movies})
            //将movies 数组存入storage缓存  下次直接用
               wx.setStorage({
               key:cid,
               data:movies
              })
          })
       }
     })
     
  },
  loadData(cid, offset){
    // 弹出等待框，等响应回来后应该取消等待框。
    wx.showLoading({
      title: '等待中，请稍后...',
      mask: true
    })
    return new Promise((resolve, reject)=>{
      wx.request({
        url: 'https://api.tedu.cn/index.php',
        data: {cid, offset},
        method: 'GET',
        success: (res)=>{
          // 回调resolve，将res.data交给Promise的使用者
          resolve(res.data)
          // 隐藏等待框
          wx.hideLoading();
        }
      })
    })
  },
  //加载当前城市名称  显示在左上角
  getLocation(){
      qqmapsdk.reverseGeocoder({
        success:(res)=>{
          //console.log(res)
          //从结果中解析出城市名称
          let city = res.result.address_component.city;
          //修改data.cityname 更新页面
          this.setData({cityname:city})
          // console.log(this.data.cityname)
        }
      })
    },
  onLoad(){
    /**请求好评数据库 */
    db.collection('reping').where({
      cid:1
    }).get({
      success:res=>{
        console.log(res)
        this.setData({reping:res.data})
      }
    })
    
    
    //加载当前城市
    this.getLocation();

    this.loadData(1,0).then(movies=>{
       this.setData({movies})
     })

  },
/** 当下拉刷新时执行 */
onPullDownRefresh(){
  // console.log('onPullDownRefresh...');
  // 直接发送请求，获取movies，更新页面与缓存
  this.loadData(this.data.cid, 0).then(movies=>{
    // 更新页面
    this.setData({movies})
    // 停止下拉刷新
    wx.stopPullDownRefresh()

    // 更新缓存
    wx.setStorage({
      key: this.data.cid+"",
      data: movies
    })
  })
 },
 /** 当上拉触底时执行 */
 onReachBottom(){
  console.log('到底了...');
  // 整理请求参数cid与offset，发送请求，获取数据
  // 将返回的电影列表数据追加到data.movies后
  let cid = this.data.cid;
  let offset = this.data.movies.length;
  this.loadData(cid, offset).then(movies=>{
    console.log(movies)
    let ms = this.data.movies;
    ms.push(...movies);
    this.setData({movies: ms});
  })
},
/**回到index后执行该生命周期方法 */
onShow(){
  let cityname = getApp().globalData.cityname;
  this.setData({cityname})
}
})